#ifndef variable_h
#define variable_h

#include "Type.hpp"
#include "Value.hpp"
class Temporary;


class Variable {
	private:
		Type * type;
		bool calculated;
		Value * value;
		Temporary res;
		bool adressable;


	public:
		Variable() {
			this->type = NULL;
			this->calculated = false;
			this->value = NULL;
			this->res = NULL;
			this->adressable = false;
		}
		
		Type * getType() {
			return this->type;
		}
			
		bool isAdressable() {
			return this->adressable;
		}
		
		Value * getValue() {
			return this->value;
		}
		
		bool isCalculated() {
			return this->calculated;
		}
};



#endif
